(1) 修改spark-defaults.conf配置文件 该文件在SPARK_HOME/conf/下,新安装的spark中只有spark-defaults.conf.template这个文件,改名为spark-defaults.conf :9000/spark/historyLog spark.history.fs.logDirectory hdfs://repo:9000/spark/historyLog # spark.eventLog.compress (2) 启动history server [root@repo conf]# start-history-server.sh (3) 访问web界面 ? (4) 测试 提交一个spark任务 spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://repo:7077 Spark History Server配置成功!
Spark history server fails to render compressed inprogress history file in some cases 1 Overview 我们目前生产环境 ,包括 Spark History Server 用的都是 Spark 2.2.0 的 Fork 版本,所以社区有些基于 2.2.0 甚至之前版本的 Fix 是没有合并进来的。 近期在看 Spark History Server 的时候,偶尔会发现无法访问。 2 复盘 检查 Spark History Server 的日志,发现如下错误信息。 ? Spark history server fails to render compressed inprogress history file in some cases,最后发现这是一个 Spark 3 Fix 解决的办法就是升级 Spark History Server 的版本。基于 Spark 2.3.0 重新构建一个镜像就可以了。
关于Spark History Server参数 spark.history.fs.update.interval 默认值10秒 指定刷新日志的时间,更短的时间可以更快检测到新的任务以及任务执行情况, 默认值18080 这个参数指定history-server的网页UI端口号 spark.history.fs.cleaner.enabled 默认为false 这个参数指定history-server spark.history.fs.cleaner.interval默认值为1d 这个参数指定history-server的日志检查间隔,默认每一天会检查一下日志文件 spark.history.fs.cleaner.maxAge 默认值为7d 指定history-server日志生命周期,当检查到某个日志文件的生命周期为7d时,则会删除该日志文件 spark.eventLog.compress 默认值为false 设置history-server 重启 History Server。 # Generated by Apache Ambari.
History Server概述 Flink有一个History Server,可以用来在相应的Flink集群关闭后查询已完成作业的统计信息。 那么History Server就显得十分重要了,因为通过History Server我们才能查询这些已完成作业的统计信息,无论是正常退出还是异常退出。 官方文档: History Server ---- History Server的使用 History Server允许查询由JobManager归档的已完成作业的状态和统计信息。 然后还需要配置History Server去扫描这个目录,并且可以配置扫描的间隔时间。 关于History Server的配置可以参考官方文档:History Server Config 配置完成后,可以使用如下命令启动History Server: [root@hadoop01 /usr
History Server => HS 2 Start Spark 自2.3.0,之后就提供官方的 Dockerfile 了,可以基于生产环境的需求,自行 build。 显然最后一个选项就是给兜底的,你可以运行 Spark 官方提供的 start-history-server.sh。 所以按照官方 build 完镜像之后可以试试。 . /bin/docker-image-tool.sh -t v3.0.0 build 然后运行 start-history-server.sh,其实细看这个脚本文件,HS 是用 Daemon 的方式运行的 docker run -it spark:v3.0.0 /opt/spark/bin/spark-class org.apache.spark.deploy.history.HistoryServer 3 Summary 所以说用 Docker 来跑一个 Spark History Server 并不是什么问题,而且基本可以说是开箱即用 的,重点是一些配置,和日志存放的硬盘需要和 Spark App
apiVersion: apps/v1 kind: Deployment metadata: name: spark-history-server spec: selector: matchLabels : run: spark-history-server replicas: 2 template: metadata: labels: run: spark-history-server spec: containers: - image: hub.oa.com/runzhliu/spark:spark_2.11 -2.4.3 name: spark-history-server args: ["/opt/spark/bin/spark-class", "org.apache.spark.deploy.history.HistoryServer kubectl expose Deployment spark-history-server --type=NodePort --name=spark-history-server 然后看看 Service
1 Overview 要在 K8S 集群中部署一套 Spark History Server,首先要了解,怎么部署一个本地版本。然后就是了解一些基本的 K8S 相关的知识点。 Spark History Server 缩写成 HS 2 Spark History Server 本地试玩 其实 Spark 官网关于如何部署 Spark History Server 是有很详细的说明的 https://spark.apache.org/docs/2.3.0/monitoring.html 总体来说 start-history-server.sh,可以启动 HS 的进程。 ? spark.eventLog.enabled true spark.eventLog.dir hdfs://namenode/shared/spark-logs 为了在本地起一个 HS 的后台进程,我们可以下载 Spark 的发行包。
将hive的hive-site.xml文件拷贝到spark/conf文件夹中,默认情况下其端口使用的是和hive的thriftserver2端口一样的,所以可以在hive-site.xml中修改使用的thrift 启动方式: sbin/start-thriftserver.sh --master yarn 更多启动参数: [root@bigdata spark-3.2.1-bin-hadoop3.2]# sbin /sbin/start-thriftserver [options] [thrift server options] Options: --master MASTER_URL spark --conf, -c PROP=VALUE Arbitrary Spark configuration property. --version, Print the version of current Spark.
二、Spark History Server 1、原理 1、spark history server读取spark任务执行过程中产生的eventlog,来还原spark-web-ui 2、spark history server能够展示正在执行和执行完的spark任务的ui,通过eventlog日志文件后缀名.inprogress区分 3、spark history server解决了在不使用代理的情况下,能够查看线上正在执行任务的 spark-web-ui,只要给部署spark history server服务配一个办公网的域名即可,原因是它只是通过eventlog近实时还原spark web ui。 ,需要一个在前台运行的程序来启动spark history server,spark提供的spark/sbin/start-history-server.sh是通过起一个后台进程去跑,所以我们要改造一下 /usr/local/spark 3、启动 启动spark history server pod,并提交一个spark on k8s任务,任务正在过程中,spark-history-ui并没有展示正在执行的任务
Flink中提供了History Server 来解决这个问题,可以在任务执行完成后保留相应的任务统计信息,便于分析和定位问题。 History Server 允许查询由JobManager归档的已完成作业的状态和统计日志信息。 一、Standalone History Server配置与验证 1、配置 在Standalone中配置History Server 服务需要选择一台节点当做History Server ,这台节点可以是 #Flink History Server 节点 historyserver.web.address: node4 #Flink History Server 端口 historyserver.web.port 二、Yarn History Server配置与验证 1、配置 Flink基于Yarn运行时,当Flink任务形成的集群停止后,无法看到对应任务的统计信息,也可以通过配置History Server来实现基于
话归正题,与MYSQL,PG 不同的SQL SERVER 其实在慢查询排查中一直是没有什么日志的,而通过DMV 或者工具来查询总觉得和其他两种数据库比较是有一定缺陷的。 但是从SQL SERVER 2016 开始SQL SERVER 也意识到这点,添加了一个功能。 如何打开和使用follow me. 1 打开 SSMS (别说不知道什么是SSMS) SQL SERVER management studio 2 点击你要记录慢查询日志的数据库-- 右键属性-- 查询存储 带有强制执行计划的方式 5 具有高度差异的查询 6 跟踪查询 从最简单的问题排查来说,首先我们可能关注的是慢查询 而慢查询有几种方式体现 1 查询时间长 2 使用物理I/O 多 3 内存占用多少 而SQL SERVER 从上面的功能我们可以深深的感受到,类似 SQL SERVER 这样的商业数据库越来越完善,这样的数据库在一些公司里面可能越来越不需要更多的DBA ,and What 's a surprise today
刚嘬了两口的 L 再次来到绿色阵营门口,正好碰上 Spark 和 SQL Server 也出来透气,两人夹着烟,正你一句我一句的攀谈起来。 SQL Server: 小 S, 听说你最近动作很大啊。 Spark: 快是男人的必备技能,好吧。 SQL Server: 说正经的呢! Spark: 你看看你们,都老了呢。不中用了吧。 SQL Server: 去,走了,聊不下去了。 Spark: 别嘛。 L 看着 Spark 在白墙上,慢慢画出了这幅草图: ? image SQL Server: 这也不能说明什么问题吧 Spark: 你仔细看。 SQL Server: 难怪我们的部分客户都开始动摇了 Spark: 再想一想,你们那 sql server 一核心 $15000, 人家 10 核心就被成本整死了,搭上 windows server Spark: 看家本领都 show 给你了,也不给我买杯星爸爸,不讲 。 SQL Server: 淘气! Spark 头也不回,走掉了。。。
DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>52-JavaScript-History</title
History对象 History对象允许操作浏览器的曾经在标签页或者框架里访问的会话历史记录。 方法 history.back(): history.back()在浏览器历史记录里前往上一页,用户可点击浏览器左上角的返回←按钮模拟此方法,等价于history.go(-1),当浏览器会话历史记录处于第一页时调用此方法没有效果 history.forward(): history.forward()在浏览器历史记录里前往下一页,用户可点击浏览器左上角的前进→按钮模拟此方法,等价于history.go(1),当浏览器历史栈处于最顶端时 history.go(): history.go(N)通过当前页面的相对位置从浏览器历史记录即会话记录加载页面,比如参数为-1的时候为上一页,参数为1的时候为下一页,当整数参数超出界限时,例如如果当前页为第一页 history.replaceState(): history.replaceState(stateObj, title[, url])该方法修改当前历史记录实体,按指定的数据、名称和URL(如果提供该参数
[root@zhang user1]# help history history: history [-c] [-d offset] [n] or history -anrw [filename] or history file and append the contents to the history list 读取所有命令历史文件追加history 列表中 -w write the current history to the history file and append them to the history list 写当前的历史记录到文件中去 2001 history | tail -5 使用HISTSIZE禁用history 如果想禁用history,可以将HISTSIZE设置为0: $ export HISTSIZE=0 $ history $ history 4 1998 export HISTIGNORE="pwd:ls:" 1999 cd 2000 history 5 除了使用history命令,在 shell 或 GUI
从拉斯维加斯回来的 L 却依然兴奋,被冷冰的 SQL Server , Oracle 门票价挫伤之后,阴差阳错进入了另一片广袤的技术天地。 目睹了 Spark 与 SQL Server 之间亦友亦敌的对话之后,L 毅然决定深入去了解 big data 的整个生态链。 “ Spark 其实也是个半吊子的实时计算引擎,采用微批次,缩短 ETL 间隔时间,加载数据到内存来完成分布式计算” “而且,Spark SQL 的威力要发挥,还是基于空间换时间的策略,先在 Hive 在 L 快速挪动的步伐中,他早已想好了下一个研究对象,那就是 Spark SQL 的前道工序,Hive. “ 我应该把 Hive 搭建起来,再玩 Spark SQL. 单机 Spark 实在太玩具了。”
显示命令执行时间 linux shell 具有history 功能,即会记录已经执行过的命令,但是默认是不显示命令的执行时间,命令的执行时间,history 已经记录,只是没有显示。 这个时候,你再执行history就会发现已经显示了时间。如下: 清空history 历史 为了不留执行命令的痕迹,可以history –c即可清理历史命令。 如下图: history –c会清理自己及其以前执行过的命令。 修改history 历史保留的条目 有时我们会觉得history保留的历史命令条目保存太少,想多保存,可以直接修改history 配置,在.bashrc 中添加如下内容: HISTFILESIZE=2000 (默认是1000) history命令的常见用法 history n 列出最近执行过的n条命令 !
趁着空档,L 看到 SQL Server 和 Spark 两人又出来抽烟了。 L 拿起杂志,悄悄的站在离他们俩不远的巴洛克风柱旁。 SQL Server: 小 S ,你们那边生意可真好。 SQL Server: 说得真好,这话谁说的? Spark: 好像是,尼古拉斯凯奇吧。在他《天气预报员》那片子里,这片子适合你看,抽空看看。 SQL Server: 就是那背着弓箭到处跑的那个主角吧。 SQL Server: 有时间吗,给我讲讲你们的内幕呗。 Spark: 我们一窝子都是壮士,有啥好讲的,你们那里不是妹子多嘛。 接下来,再看看如何提交我们的 Spark SQL 怎么去连你们的 SQL Server. ? image 通常 Spark SQL 程序都会有一个引子程序,叫做 driver. 这幅图,完成的就是并行连接 SQL Server 读取大数据量的表,拉取到 Spark 集群做处理。注意,这里必须有分区来提高读取速度。
History、Location 学习路线:JavaScript基础语法(输出语句)->JavaScript基础语法(变量)->JavaScript基础语法(数据类型)->JavaScript基础语法( String_JavaScript->自定义对象_JavaScript->JavaScript_BOM->Window对象->confirm()、setInterval()、setTimeout()->History 事件绑定(onclick,onfocus,onblur)-> 事件绑定(onmouseout,onmouseover) ->事件绑定(onsubmit)表单提交 ->提交表单与验证表单案例 History History 对象是 JavaScript 对历史记录进行封装的对象。 History 对象的获取 使用 window.history获取,其中window. 可以省略 History 对象的函数 演示代码 <!
echo $HISTSIZE #显示命令历史缓存条目数量 history -c #清除命令历史记录 history 其它使用技巧: ! $ #引用上一个命令的最后一个参数 给history;操作历史记录 添加日期、执行的用户等信息: echo 'HISTTIMEFORMAT="%F %T `whoami`